package com.ruoyi.web.mapper;

import java.util.List;
import com.ruoyi.web.domain.KubernetesUser;
import com.ruoyi.web.domain.KubernetesUserRoleBinding;

/**
 * K8s用户Mapper接口
 * 
 * @author xuchengchao
 * @date 2022-04-17
 */
public interface KubernetesUserMapper 
{
    /**
     * 查询K8s用户
     * 
     * @param id K8s用户主键
     * @return K8s用户
     */
    public KubernetesUser selectKubernetesUserById(Long id);

    /**
     * 查询K8s用户列表
     * 
     * @param kubernetesUser K8s用户
     * @return K8s用户集合
     */
    public List<KubernetesUser> selectKubernetesUserList(KubernetesUser kubernetesUser);

    /**
     * 新增K8s用户
     * 
     * @param kubernetesUser K8s用户
     * @return 结果
     */
    public int insertKubernetesUser(KubernetesUser kubernetesUser);

    /**
     * 修改K8s用户
     * 
     * @param kubernetesUser K8s用户
     * @return 结果
     */
    public int updateKubernetesUser(KubernetesUser kubernetesUser);

    /**
     * 删除K8s用户
     * 
     * @param id K8s用户主键
     * @return 结果
     */
    public int deleteKubernetesUserById(Long id);

    /**
     * 批量删除K8s用户
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteKubernetesUserByIds(Long[] ids);

    /**
     * 批量删除${subTable.functionName}
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteKubernetesUserRoleBindingByUserIds(Long[] ids);
    
    /**
     * 批量新增${subTable.functionName}
     * 
     * @param kubernetesUserRoleBindingList ${subTable.functionName}列表
     * @return 结果
     */
    public int batchKubernetesUserRoleBinding(List<KubernetesUserRoleBinding> kubernetesUserRoleBindingList);
    

    /**
     * 通过K8s用户主键删除${subTable.functionName}信息
     * 
     * @param id K8s用户ID
     * @return 结果
     */
    public int deleteKubernetesUserRoleBindingByUserId(Long id);
}
